<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<!-- Copyright 1997 The Open Group, All Rights Reserved -->
<title>fread</title>
</head><body bgcolor=white>
<center>
<font size=2>
The Single UNIX &reg; Specification, Version 2<br>
Copyright &copy; 1997 The Open Group

</font></center><hr size=2 noshade>
<h4><a name = "tag_000_005_230">&nbsp;</a>NAME</h4><blockquote>
fread - binary input
</blockquote><h4><a name = "tag_000_005_231">&nbsp;</a>SYNOPSIS</h4><blockquote>
<pre><code>

#include &lt;<a href="stdio.h.html">stdio.h</a>&gt;

size_t fread(void *<i>ptr</i>, size_t <i>size</i>, size_t <i>nitems</i>, FILE *<i>stream</i>);
</code>
</pre>
</blockquote><h4><a name = "tag_000_005_232">&nbsp;</a>DESCRIPTION</h4><blockquote>
The
<i>fread()</i>
function reads, into the array pointed to by
<i>ptr</i>,
up to
<i>nitems</i>
members whose size is specified by
<i>size</i>
in bytes, from the stream pointed to by
<i>stream</i>.
The file position indicator for the stream (if defined) is
advanced by the number of bytes successfully read.
If an error occurs, the resulting value of the file position
indicator for the stream is indeterminate.
If a partial member is read, its value is indeterminate.
<p>
The
<i>fread()</i>
function may mark the
<i>st_atime</i>
field of the file associated with
<i>stream</i>
for update.  The
<i>st_atime</i>
field will be marked for update by the first successful execution of
<i><a href="fgetc.html">fgetc()</a></i>,
<i><a href="fgets.html">fgets()</a></i>,
<i><a href="fgetwc.html">fgetwc()</a></i>,
<i><a href="fgetws.html">fgetws()</a></i>,
<i>fread()</i>,
<i><a href="fscanf.html">fscanf()</a></i>,
<i><a href="getc.html">getc()</a></i>,
<i><a href="getchar.html">getchar()</a></i>,
<i><a href="gets.html">gets()</a></i>
or
<i><a href="scanf.html">scanf()</a></i>
using
<i>stream</i>
that returns data not supplied by a prior call to
<i><a href="ungetc.html">ungetc()</a></i>
or
<i><a href="ungetwc.html">ungetwc()</a></i>.
</blockquote><h4><a name = "tag_000_005_233">&nbsp;</a>RETURN VALUE</h4><blockquote>
Upon successful completion,
<i>fread()</i>
returns the number of members successfully read which is less than
<i>nitems</i>
only if a read error or end-of-file is encountered.  If
<i>size</i>
or
<i>nitems</i>
is 0,
<i>fread()</i>
returns 0 and the contents of the array and the state of the stream remain
unchanged.  Otherwise, if a read error occurs, the error indicator for the
stream is set and
<i>errno</i>
is set to indicate the error.
</blockquote><h4><a name = "tag_000_005_234">&nbsp;</a>ERRORS</h4><blockquote>
Refer to
<i><a href="fgetc.html">fgetc()</a></i>.
</blockquote><h4><a name = "tag_000_005_235">&nbsp;</a>EXAMPLES</h4><blockquote>
None.
</blockquote><h4><a name = "tag_000_005_236">&nbsp;</a>APPLICATION USAGE</h4><blockquote>
The
<i><a href="ferror.html">ferror()</a></i>
or
<i><a href="feof.html">feof()</a></i>
functions must be used to distinguish between
an error condition and an end-of-file condition.
<p>
Because of possible differences in member length and byte ordering,
files written using
<i><a href="fwrite.html">fwrite()</a></i>
are application-dependent, and possibly cannot be read using
<i>fread()</i>
by a different application or by the same application on a different
processor.
</blockquote><h4><a name = "tag_000_005_237">&nbsp;</a>FUTURE DIRECTIONS</h4><blockquote>
None.
</blockquote><h4><a name = "tag_000_005_238">&nbsp;</a>SEE ALSO</h4><blockquote>
<i><a href="feof.html">feof()</a></i>,
<i><a href="ferror.html">ferror()</a></i>,
<i><a href="fopen.html">fopen()</a></i>,
<i><a href="getc.html">getc()</a></i>,
<i><a href="gets.html">gets()</a></i>,
<i><a href="scanf.html">scanf()</a></i>,
<i><a href="stdio.h.html">&lt;stdio.h&gt;</a></i>.
</blockquote><h4>DERIVATION</h4><blockquote>
Derived from Issue 1 of the SVID.
</blockquote><hr size=2 noshade>
<center><font size=2>
UNIX &reg; is a registered Trademark of The Open Group.<br>
Copyright &copy; 1997 The Open Group
<br> [ <a href="../index.html">Main Index</a> | <a href="../xshix.html">XSH</a> | <a href="../xcuix.html">XCU</a> | <a href="../xbdix.html">XBD</a> | <a href="../cursesix.html">XCURSES</a> | <a href="../xnsix.html">XNS</a> ]

</font></center><hr size=2 noshade>
</body></html>

